<?php
	class Admin_categories extends My_Controller
	{
		function Admin_categories()
		{
			parent::__construct();
			$this->check_login();
			//$this->permiss_admin();
		}
		
		function index()
		{
			$_SESSION['select_id']		= NULL;
			$_SESSION['name']			= NULL;
			$data['title'] 			= "Quản Lý Danh Mục Sản Phẩm";
			$this->load->library('pagination');
			$per_page 				= 30;		
			$total 	  				= $this->mod_lib->count('categories', array());
			$data['menu_admin'] 	= $this->mod_lib->load_all('categories', '', array(), $per_page, $this->uri->segment(4), array("order"=>"ASC"));										
			$base_url				= site_url('admins/admin_categories/index');		
			$config['base_url']		= $base_url;
			$config['per_page']		= $per_page;
			$config['total_rows']	= $total;		
			$config['uri_segment']	= 4;
			$data['rs']				= $this->uri->segment(4);	
			$this->pagination->initialize($config);		
			$data['paging']			= $this->pagination->create_links();
			$data['content_admin']	= 'admins/admin_categories/index';
			$this->load->view('admins/template_admin', $data);
		}
		
		function search_category($id)
		{
			$_SESSION['select_id']		= NULL;
			$_SESSION['name']			= NULL;
			$data['title'] 			= "Quản Lý Menu User";
			$this->load->library('pagination');
			$per_page 				= 30;		
			$total 	  				= $this->mod_lib->count('categories', array('cat_id'=>$id));
			$data['menu_admin'] 	= $this->mod_lib->load_all('categories', '', array('cat_id'=>$id), $per_page, $this->uri->segment(5), array("order"=>"ASC"));										
			$base_url				= site_url('back_end/admin_categories/search_category');		
			$config['base_url']		= $base_url;
			$config['per_page']		= $per_page;
			$config['total_rows']	= $total;		
			$config['uri_segment']	= 5;
			$data['rs']				= $this->uri->segment(5);	
			$this->pagination->initialize($config);		
			$data['paging']			= $this->pagination->create_links();
			$data['content_admin']	= 'back_end/admin_categories/index';
			$this->load->view('back_end/template_admin', $data);
		}
		
		function search()
		{
			if ($this->input->post('cmd'))
			{
				$like		= array();
				$where		= array();
				$select_id				= $this->input->post('select_id');
				$name					= $this->input->post('name');
				
				if (!empty($select_id))
				{					
					if (!empty($name))
					{
						if ($select_id	== 1)
						{
							$where			= $this->check_search($where, $name, 'categories.id');						
						}
						else if ($select_id	== 2)
						{
							$like			= $this->check_search($like, $name, 'categories.name');
						}
					}					
				}
				$_SESSION['search']			= array('where'=>$where, 'like'=>$like);
				$_SESSION['select_id']		= $select_id;
				$_SESSION['name']			= $name;
			}
			$data['title'] 				= "Tìm kiếm";
			$this->load->library('pagination');
			$per_page 					= 30;
			$uri						= 4;
			$total 	  					= $this->mod_lib->count_search_join('categories', $_SESSION['search']['like'], $_SESSION['search']['where'], array());				
			$data['menu_admin']			= $this->mod_lib->load_all_search_join('categories', '', $_SESSION['search']['where'], $_SESSION['search']['like'], array(), $per_page, $this->uri->segment($uri), array('order'=>'ASC'));
			$base_url					= site_url('back_end/admin_categories/search');
			$config['base_url']			= $base_url;
			$config['per_page']			= $per_page;
			$config['total_rows']		= $total;
			$config['uri_segment']		= $uri;
			$data['rs']					= $this->uri->segment($uri);									
			$data['uri']				= $this->uri->uri_string();
			$this->pagination->initialize($config); 
			$data['paging']				= $this->pagination->create_links();
			$data['content_admin']	= 'back_end/admin_categories/index';
			$this->load->view('back_end/template_admin', $data);
		}
		
		function add()
		{
// 			$i = $this->permiss_admin_add();				
// 			if(isset($i['all']) || isset($i['add']))
// 			{
				$data['title'] 		= "Thêm Mới danh mục sản phẩm";
				$this->db->select_max('order', 'category_order');
				$query 	= $this->db->get('categories')->row_array();
				$order	= $query['category_order'] + 1;
				if ($this->input->post('cmd'))
				{
					$cat_id			= $this->input->post('cat_id');
					$cat_id			= explode('_', $cat_id);
					$_SESSION['cat_id']		= $cat_id[1];
					if ($cat_id[0]		== 'cat1')
					{
						$cat_id	= $cat_id[1];
						$level	= 2;
					}
					else if ($cat_id[0]		== 'cat2')
					{
						$cat_id	= $cat_id[1];
						$level	= 3;
					}
					else if ($cat_id[0]		== 'cat3')
					{
						$cat_id	= $cat_id[1];
						$level	= 4;
					}
					else if ($cat_id[0]		== 'cat4')
					{
						$cat_id	= $cat_id[1];
						$level	= 5;
					}
					else
					{
						$cat_id	= 0;
						$level	= 1;
					}
					
					$result			= array(
											'cat_id'   			=> $cat_id,
											'level'				=> $level,
											'name' 				=> ($cat_id == 0) ? mysql_real_escape_string(mb_strtoupper($this->input->post('name'), "UTF-8")) : mysql_real_escape_string(ucfirst($this->input->post('name'))),
											'createdate'		=> time(),
											'updatedate'		=> time(),
											'order'				=> ($cat_id == 0) ? $order : NULL,
											'image'				=> mysql_real_escape_string($this->input->post('image')),
											'meta_description'	=> mysql_real_escape_string($this->input->post('meta_description')),	
											'meta_keyword'		=> mysql_real_escape_string($this->input->post('meta_keyword')),	
											'meta_title'		=> mysql_real_escape_string($this->input->post('meta_title')),	
											'status'   			=> $this->input->post('status')
					);
					$a 	= $this->db->get_where('categories', array('name'=>$this->input->post('name'), 'cat_id'=>$this->input->post('cat_id')));
					if ($a->num_rows() > 0)
					{
						$_SESSION['error_add']	= 'Tên danh mục sản phẩm này đã tồn tại. Vui lòng chọn tên danh mục sản phẩm khác';
						redirect(base_url().'admins/admin_categories/add');
					}
					else 
					{
						$_SESSION['error_add']	= '';
						$this->db->insert('categories', $result);
						$action	= 'Thêm mới danh mục sản phẩm: '.$this->input->post('name');
						$this->mod_lib->insert_log($action, $_SESSION['admin_id']);
						if ($this->input->post('cmd')	== 'Add')
						{
							echo '<script>alert("Bạn đã thêm mới thành công một danh mục sản phẩm."); window.location = "'.base_url().'admins/admin_categories"</script>';
						}
						else if ($this->input->post('cmd')	== 'Save & Add')
						{
							redirect(base_url().'admins/admin_categories/add');
						}						
					}					
				}
				$data['menu_admin']		= $this->mod_lib->load_all('categories', '', array('cat_id'=>0), '', '', array('order'=>'ASC'));
				$data['categories']		= $this->mod_lib->load_all('categories', '', array('cat_id !='=>0), '', '', array('order'=>'ASC'));
				$data['content_admin']	= 'admins/admin_categories/add';
				$this->load->view('admins/template_admin', $data);
// 			}
// 			else
// 			{
// 				$_SESSION['permiss_error'] = 'Bạn không có quyền thêm mới';
// 				redirect(base_url().'admins/admin_categories');	
// 			}
		}
		
		function edit($id = "")
		{
			$i = $this->permiss_admin_add();
			if(isset($i['all']) || isset($i['edit']))
			{	
				$data['title']	 			= 'Sửa Menu User';
				$data['admin_menu_edit']	= $this->mod_lib->detail('categories', array("id"=>$id));
				$data['menu_admin']			= $this->mod_lib->load_all('categories', '', array('cat_id'=>0), '', '', array('name'=>'ASC'));
				$dat						= $this->mod_lib->detail('categories', array("id"=>$id));
				$name						= $dat[0]['name'];
				if ($this->input->post('cmd'))
				{
					$is_header		= 0;
					if ($this->input->post('is_header')	== 'on')
					{
						$is_header	= 1;
					}
					$is_frontpage		= 0;
					if ($this->input->post('is_frontpage')	== 'on')
					{
						$is_frontpage	= 1;
					}
					$result			= array(
											'cat_id'   		=> $this->input->post('cat_id'),
											'name' 			=> trim($this->input->post('name')),
											'updatedate'	=> time(),
											'is_header'		=> $is_header,
											'is_frontpage'	=> $is_frontpage,
											'position'		=> $this->input->post('position'),
											'image'			=> $this->input->post('image'),	
											'status'   		=> $this->input->post('status')
									);
					$this->mod_lib->update('categories', array("id"=>$id), $result);
					$action	= "Sửa Menu User: ".$name.' thành: '.$this->input->post('name');
					$this->mod_lib->insert_log($action, $_SESSION['admin_id']);
					redirect($_SESSION['last_url_admin']);
				}			
				$data['content_admin']	= 'back_end/admin_categories/edit';
				$this->load->view('back_end/template_admin', $data);
			}
			else
			{
				$_SESSION['permiss_error'] = 'Bạn không có quyền sửa';
				redirect($_SESSION['last_url_admin']);
			}
		}
		
		
		function edit_order($id, $order)
		{
			$i = $this->permiss_admin_add();				
			if(isset($i['all']) || isset($i['edit']))
			{
				$results = $this->db->get_where('categories', array('order'=>$order))->result_array();
				if($results == NULL)
				{
					$this->mod_lib->update('categories', array('id'=>$id), array('order'=>$order));
				}
				else
				{
					$query2 = "UPDATE `babyshop_categories` SET `order` = `order` + 1 WHERE `order` >= $order";												
					$this->db->query($query2);								
					$this->mod_lib->update('categories', array('id'=>$id), array('order'=>$order));
				}							
				redirect($_SESSION['last_url_admin']);
			}
			else
			{			
				$_SESSION['permiss_error'] = 'Bạn không có quyền sửa';
				redirect($_SESSION['last_url_admin']);			
			}
		}
		
		function delete($id="")
		{
			$i = $this->permiss_admin_add();			
			if(isset($i['all']) || isset($i['del']))
			{
				if (empty($id))
				{
					$id			= $this->input->post('chon');
					$id			= substr($id, 0, strlen($id)-1);
					$mang_id	= explode(',', $id);
					$action     = array();
					foreach ($mang_id as $id)
					{
						$data = $this->mod_lib->detail('categories',array("id"=>$id));
						$action[] = $data[0]['first_name'].' '.$data[0]['last_name'];
					}
					$hd = '';
					foreach ($action as $ac)
					{
						if ($hd	== "")
						{
							$hd .= 'Xóa danh mục sản phẩm: '.$ac;
						}
						else
						{
							$hd .= ', '.$ac;
						}					
					}
					$this->mod_lib->delete('categories', $mang_id, 'id', true);
					$this->mod_lib->insert_log($hd, $_SESSION['admin_id']);
				}
				else
				{
					$dat 	= $this->mod_lib->detail('categories', array('id'=>$id));
					$name 	= $dat[0]['first_name'].' '.$dat[0]['last_name'];
					$action = 'Xóa danh mục sản phẩm: '.$name;
					$this->mod_lib->delete('categories', $id, 'id');
					$this->mod_lib->insert_log($action, $_SESSION['admin_id']);
				}
				redirect($_SESSION['last_url_admin']);
			}
			else
			{
				$_SESSION['permiss_error'] = 'Bạn không có quyền xóa';
				redirect($_SESSION['last_url_admin']);
			}
		}
		
		function active($id, $status)
		{
			$i = $this->permiss_admin_add();
			if(isset($i['all']) || isset($i['edit']))
			{	
				if ($status == 1)
				{
					$update_status = 0;
				}else{
					$update_status = 1;
				}
				$data 	= array('status'=>$update_status);			
				$this->mod_lib->update('categories', array("id"=>$id), $data);
				$query	= $this->db->get_where('categories', array('id'=>$id))->row_array();
				$name	= $query['name'];
				$action	= 'Thay đổi trạng thái Menu User: '.$name;
				$this->mod_lib->insert_log($action, $_SESSION['admin_id']);
				redirect($_SESSION['last_url_admin']);
			}
			else
			{
				$_SESSION['permiss_error'] = 'Bạn không có quyền thay đổi trạng thái';
				redirect($_SESSION['last_url_admin']);
			}
		}			
	}